#ifndef CDNF_H
#define CDNF_H

#include <vector>
#include "dnf.h"
#include "valuation.h"
namespace cdnf{

class CDNF{
public:	
	CDNF();
	bool getValue(bool* valuation);
	bool getValue(Valuation& valuation);
	std::vector<DNF>& getDnfs();	
	void addDNF(DNF& dnf);
	DNF& getDNF(int index);	
	void setDNF(int index, DNF& dnf);
	bool isDegenerated();
	void setDegeneratedValue(bool degeneratedValue);
	bool getDegeneratedValue() const;
	bool isTrue();
	bool isFalse();
private:
	std::vector<DNF> dnfs;
	bool degeneratedValue;
};

}
#endif
